Creation and manipulation of canvases based on ink strokes

ABSTRACT

A canvas in an inking application is created and manipulated based on ink strokes. An ink stroke outside a presented canvas, even outside a user interface of the inking application, is recorded and the presented canvas enlarged to cover the recorded ink stroke. If the ink stroke begins on a command area such as a canvas size control icon, the command associated with the area is executed. If the ink stroke begins in a typed text area, lines are frozen and separated responsive to the first stroke. A new canvas is presented between the separated lines. A size of the new canvas is adjusted based on ink entry or a size of the first ink stroke.

BACKGROUND

Some computing devices allow users to enter characters and symbols inhandwriting on a special writing area using ink strokes as opposed to akeyboard entry. The handwriting can be used as is (e.g., to function asreadable notes and so forth) or can be converted to text for moreconventional computer uses. To convert to text, for example, as a userwrites onto a touch-sensitive computer screen, a touchpad, or the like,a handwriting recognizer is able to convert the handwriting data intodictionary words or symbols. In this manner, users are able to entertextual or graphical data without necessarily needing a keyboard.

The special writing areas are sometimes referred to as canvases. Acanvas may be dedicated to ink entry, or mixed use (includes typed textor graphics as well as inked entry). A canvas in itself may be a way tomitigate certain problems such as creating white space to move text outof the way of ink entry, preserving reflow of text, and the like.

It is difficult, however, for users to manipulate and work with canvasesto add ink or open additional canvases in text-based applications. Forexample, ink strokes may be cropped if they are drawn outside of thebounds of a canvas, users may not be able to dynamically insert a canvasin line with text.

SUMMARY

A canvas in an inking application may be created and manipulated basedon ink strokes. If an ink stroke is detected outside a presented canvas,it is recorded and the presented canvas enlarged to cover the recordedink stroke. If the ink stroke begins on a command area, the commandassociated with the area is determined and executed. If the ink strokebegins in a typed text area, lines are frozen and separated responsiveto the first stroke. A new canvas is presented between the separatedlines. A size of the new canvas is adjusted based on ink entry or a sizeof the first ink stroke.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computing device in which an inking application maybe executed using borderless canvases and manipulation of canvases basedon ink strokes.

FIG. 2 illustrates a system, where example embodiments of an inkingapplication may be implemented.

FIG. 3 illustrates a screenshot of an example text-based applicationwith an inking canvas.

FIG. 4 illustrates a screenshot of the example text-based application ofFIG. 3 with a stroke exceeding the canvas area.

FIG. 5 illustrates a screenshot of the example text-based application ofFIG. 4 with the canvas area dynamically expanding based on the stroke.

FIG. 6 illustrates a screenshot of another example text-basedapplication with typed text and an inking pen attempting to begin inkingin the typed text area.

FIG. 7 illustrates a screenshot of the example text-based application ofFIG. 6 with an inking canvas inserted in the typed text area.

FIG. 8 illustrates a screenshot of the example text-based application ofFIG. 6 with inked text integrated into the typed text.

FIG. 9 illustrates a screenshot of a further example text-basedapplication where the inking pen is used to enter commands instead ofinking text.

FIG. 10 illustrates a logic flow diagram for a process of creating andmanipulating an inking canvas based on ink strokes.

DETAILED DESCRIPTION

Embodiments of the present disclosure now will be described more fullyhereinafter with reference to the accompanying drawings, which form apart hereof, and which show, by way of illustration, specific exemplaryembodiments for practicing the invention. This disclosure may, however,be embodied in many different forms and should not be construed aslimited to the embodiments set forth herein; rather, these embodimentsare provided so that this disclosure will be thorough and complete, andwill fully convey the scope to those skilled in the art. Among otherthings, the present disclosure may be embodied as methods or devices.Accordingly, the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment or an embodimentcombining software and hardware aspects. The following detaileddescription is, therefore, not to be taken in a limiting sense.

The term “inking canvas” or “canvas” refers to a defined area within apresentation of a text-based or graphics application, such as a wordprocessing application, a slide presentation application, a graphicdesign application, and the like, where text, symbols, and graphics maybe entered by a user employing a device such as an “inking pen”, a“stylus”, a mouse, a pointer, and the like, instead of using a standardkeyboard. The terms are not intended to convey a limiting definition,and other terms may be used to describe the same.

Referring to FIG. 1, an exemplary system for implementing someembodiments includes a computing device, such as computing device 100.In a very basic configuration, computing device 100 typically includesat least one processing unit 102 and system memory 104. Depending on theexact configuration and type of computing device, system memory 104 maybe volatile (such as RAM), non-volatile (such as ROM, flash memory,etc.) or some combination of the two. System memory 104 typicallyincludes operating system 105 and one or more program modules 106working within operating system 105.

Program modules 106 may include inking application 120, which may alsobe executed separately within operating system 105. Inking application120 may include any text-based application such as a word processingapplication, a presentation application, a spreadsheet application, anelectronic mail application, a graphic design application, and the like,with inking capability. Inking capability refers to a feature of theapplication providing a user to enter characters, symbols, and graphicsusing a stylus instead of a keyboard.

To perform the actions described above, inking application 120 mayinclude and/or interact with other computing devices, applications, andapplication interfaces (APIs) residing in other applications. Forexample, an electronic mail application with inking capability mayaccept handwritten entries, combine them with typed text, and performtypical electronic mail actions such as sending and receiving messages,scheduling appointments, and the like.

Computing device 100 may have additional features or functionality. Forexample, computing device 100 may also include additional data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Such additional storage is illustrated inFIG. 1 by removable storage 109 and non-removable storage 10. Computerstorage media may include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data.

System memory 104, removable storage 109 and non-removable storage 10are all examples of computer storage media. Computer storage mediaincludes, but is not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bycomputing device 100. Any such computer storage media may be part ofdevice 100. Computing device 100 may also have input device(s) 112 suchas retail devices, keyboard, mouse, pen, voice input device, touch inputdevice, etc. Output device(s) 114 such as a display, speakers, printer,etc. may also be included. To execute an inking application computingdevice 100 typically includes a touch-sensitive display that detects inkstrokes from an inking pen or stylus, essentially acting as an inputdevice.

Computing device 100 also contains communication connections 116 thatallow the device to communicate with other computing devices 118, suchas over a network. Communication connections 116 are one example ofcommunication media. Communication media may typically be embodied bycomputer readable instructions, data structures, program modules, orother data in a modulated data signal, such as a carrier wave or othertransport mechanism, and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media.

FIG. 2 illustrates system 200, where example embodiments of creating andmanipulating canvas areas based on ink strokes may be implemented.System 200 may comprise any topology of servers, clients, Internetservice providers, and communication media. Also, system 200 may have astatic or dynamic topology.

Inking application 206 may be executed on computing device 202 that isconfigured to accept ink entries by an inking device such as stylus 204.Computing device 202 may be a Tablet PC, a Personal Digital Assistant(PDA), or any computing device with inking capability. Inkingapplication 206 may be run centrally on computing device 202 or in adistributed manner over several computing devices managed by one or moreservers (e.g. server 222). Computing device 202 may communicate withother computing devices such as laptop PC 226, desktop PC 228, and thelike, over network(s) 210 as part of the operation of inking application206.

Moreover, any computing device associated with the inking applicationmay store data at or receive data from data store 224. In an exampleembodiment, inking application 206 may be an electronic mail applicationaccepting inked entry for messages, and the like. Inking application 206may retrieve data such as attachments from data store 224 and send themessage(s) to laptop PC 226. Server 222 may manage the electronic mailoperations such as addressing, encryption/decryption, and the like.

Network(s) 210 may include a secure network such as an enterprisenetwork, or an unsecure network such as a wireless open network.Network(s) 210 provide communication between the nodes described above.By way of example, and not limitation, network(s) 210 may include wiredmedia such as a wired network or direct-wired connection, and wirelessmedia such as acoustic, RF, infrared and other wireless media.

As described above, inking application 206 may include any applicationthat receives an entry from an inking device such as describedpreviously. The inking device entries may be made on a display of acomputing device, on a touch pad, and the like. Inking entries are theninterpreted by the inking application to generate text or graphics,execute commands, modify settings, and the like. Inking application 206may include a graphical representation application, a spreadsheetapplication, a graphic design application, a communications application,an alerting application, a word processing application, and the like.

Many other configurations of computing devices, applications, datasources, and systems may be employed to implement creation andmanipulation of canvases based on ink strokes.

FIG. 3 illustrates a screenshot of example text-based application 300with an inking canvas. Example application 300 is an electronic mailapplication. The user interface for the application includes a commandarea commonly referred to as menu bar or ribbon that includes drop-downmenu headers as well as icons for specific commands. In an inkingapplication, items of the menu bar or ribbon can typically be activatedby an inking pen.

In addition to drop-down menu headers such as write, insert, reportrendering, and the like, ribbon 302 includes icons 304 for selecting aninking pen type, icon 306 for converting the inking pen to an eraser,and icon 308 for inserting canvas space on command.

Inking pen (sometimes referred to as stylus) 310 is used to providecharacters, symbols, and graphics on a touch-sensitive display within acanvas (e.g. canvas 312). The user interface for electronic mailapplication (300) includes the document page 316, which is a messagepage for preparing an electronic message to be sent. In otherapplications, the document page may be any part of a document beingprocessed by the application such as a word processing document page, acalendar page, a contact information card, and the like.

Document page 316 may include a presented canvas specifically dedicatedfor inking, and a non-canvas area for typed text, graphics,predetermined information, and the like. The term “presented canvas”refers to a displayed area that can accept inking with an applicationUser Interface (UI). On the other hand, the term “real canvas” refers toan actual portion of the UI that can accept ink entries regardless ofwhether that area is visibly indicated or not.

For example, in an electronic mail document page, a signature portionwith information about the user may include predetermined text such asphone number, address, and the like, as well as a graphic representationof the user's signature. The same document page may also include apresented canvas area for the user to provide the message in handwriting(possibly later to be recognized). Inked text 314 is an example of suchhandwritten ink entry. If the UI of the electronic mail applicationaccepted ink entries outside the visible “presented canvas”, it wouldhave a real canvas that is larger than its presented canvas.

Embodiments are not limited to dedicated canvas areas and non-canvasareas, however. Mixed use canvases that may include typed text (orgraphics) as well as inked entry may also be implemented using theprinciples described herein.

Canvas size control icon 318 is a special command area within the userinterface arranged to control a size of the presented canvas (312) byinking pen activation. If a user presses on the canvas size control icon318 and drags up or down (or in other directions), the canvas size growsor reduces in that direction.

In typical inking applications, the real canvas size is the same as thesize of the presented canvas (312). This presents a problem when a userenters an ink stroke that exceeds the presented canvas or is totallyoutside the presented canvas. Some solutions include growing the canvasin the direction of the stroke (if it starts within the canvas) allowingthe user to re-enter the stroke once the canvas is grown, but theoriginal ink stroke is lost.

FIG. 4 illustrates a screenshot of the example text-based application ofFIG. 3 with a stroke exceeding the canvas area. In example application400, items similarly numbered as in FIG. 3, operate in a likewisemanner. Thus, command icons 404, 406, 408 in ribbon 402, as well ascanvas size control icon 418 operate similarly as described in FIG. 3.Document page 416 includes presented canvas area 412 with inked text 414and non-inking area 416.

As described above, the portion (424) of ink stroke 422, that is outsidecanvas 412, is lost in typical inking applications regardless of whetherthe canvas is grown based on the ink stroke exceeding the presentedcanvas area or not.

According to one embodiment, the whole document page 416 may bedesignated as canvas area instead of just the presented canvas area 412.Thus, ink stroke 422 may be recorded in whole when it is enteredregardless of where it originates. The presented canvas area 412 maystill be shown as such to provide a visual separation between otherareas and the inking area, but ink strokes outside presented canvas 412(with the exception of command areas such as ribbon 402, canvas sizecontrol icon 418, etc.) are not lost. The step following recording ofthe ink stroke 422 is described below.

FIG. 5 illustrates a screenshot of the example text-based application ofFIG. 4 with the canvas area dynamically expanding based on the stroke.

In example application 500, items similarly numbered as in FIG. 4,operate in a likewise manner. Thus, command icons 504, 506, 508 inribbon 502, as well as canvas size control icon 518 operate similarly asdescribed in FIGS. 3 and 4. Document page 516 includes presented canvasarea 512 with inked text 514 and non-inking area 516.

Following recording of ink stroke 522 that exceeds the originalpresented canvas area, presented canvas area 512 is dynamically grown tocover ink stroke 522. Any items in the non-inking area 516 may be pusheddownward or upward depending on the user interface configuration.

While the screenshot in FIG. 5 shows growth of a presented canvas areain the direction of an ink stroke originating within the presentedcanvas area, embodiments are not so limited. Other embodiments mayinclude presented canvas area being dynamically enlarged to cover an inkstroke that is wholly outside the canvas area. Further embodiments mayinclude enlarging of the application user interface along with thepresented canvas area to cover an ink stroke that is even outside theuser interface.

Moreover, the presented canvas may be grown in any direction. In typicalsettings, the presented canvas area may be implemented as a horizontalband within the document page of the application, but otherconfigurations of size and shape of canvas areas and their growth tocover the ink stroke may also be implemented using the principlesdescribed herein.

FIG. 6 illustrates a screenshot of another example text-basedapplication with typed text and an inking pen attempting to begin inkingin the typed text area.

In example application 600, items similarly numbered as in FIGS. 3, 4,and 5, operate in a likewise manner. Thus, command icons 604, 606, 608in ribbon 602 operate similarly as described in conjunction withprevious figures. In this case, document page 616 includes typed text624.

There are many scenarios, where a user may desire to insert ink entrybetween typed text. For example, the user may desire to edit a document,edit an inked text that has already been recognized and converted toregular text, add a hand drawn figure or diagram to a document, add amap to a document, and the like.

In such a scenario, the user may indicate inking mode over typed text byinserting an ink stroke at a point on typed text 624 with inking pen610. In some embodiments, the user may indicate inking mode by clickingon a soft or hard button, or by a keyboard entry, then indicate thepoint of insertion again by touching a selected point on typed text 624.

FIG. 7 illustrates a screenshot of the example text-based application ofFIG. 6 with an inking canvas inserted in the typed text area in responseto the inking mode indication.

As in previous figures, similarly numbered items operate in a likewisemanner. Upon receiving the inking mode indication, the inkingapplication may freeze the lines in some embodiments to preserve textattributes such as line lengths. Yet, in other embodiments, inkanchoring may be done without freezing the lines. Lines may be separatedbased on the insertion point of inking mode indication. If the insertionpoint is between two lines, the lines may be separated based on a lengthof the first ink stroke or by a default distance. If the insertion pointis on a line, a dynamic decision process may be followed, where theapplication determines which two lines to separate based on a number oflines in the paragraph, location of the insertion point relative to aline center, and the like.

In one embodiment, the user may be asked to select which lines toseparate. In another embodiment, the line itself may be separated as thecanvas is inserted.

Once new canvas 716 is inserted inked entry 714 may be accepted. If theinked entry exceeds the initial size of new canvas 716, the canvas maybe dynamically grown as described previously. The canvas may alsoinclude canvas size control icon 718 for the user to adjust the canvassize manually.

FIG. 8 illustrates a screenshot of the example electronic mailapplication of FIG. 7 with inked text integrated into the typed text.

Following the operations described in conjunction with FIGS. 6 and 7,inked entry 826 may be recognized and integrated into the existing typedtext (824). The integration operation may include inheriting attributesof typed text 824, such as font type, font size, line length, and thelike, to inked entry 826.

Separation distance between the lines where the new canvas was insertedmay also be readjusted to reflect line spacing of the paragraph. Oncethe optional integration process is complete, the example electronicmail application may perform other actions such as sending a message,performing a spell-check and the like.

FIG. 9 illustrates a screenshot of a further example electronic mailapplication where the inking pen is used to enter commands instead ofinking text.

Items on the user interface of electronic mail application 900, ascommand icons 904, 906, and 908 of ribbon 902, operate similar tolikewise numbered items in previous figures. The document page ofelectronic mail application 900 is shown with presented canvas area 912,inked entry 914, non-inking area 916, and canvas size control icon 918.

When an ink stroke by inking pen 910 is detected, the application firstdetermines where the ink stroke begins. If the ink stroke begins on acommand area such as one of the command icons in ribbon 902 or canvassize control icon 918, a determination is made that a command is to beexecuted. The application then determines what the command is and how itis to be executed (e.g. parameters).

In the example of canvas size control icon 918, by clicking on the iconthe user is indicating that the canvas size is to be modified. Adirection of the stroke indicates whether the canvas is to be grown orreduced. A length of the stroke indicates by what amount the canvas sizeis to be adjusted.

While FIG. 9 shows the canvas area covering a horizontal band along thecomplete width of the document page, presented canvas area 912 may be inany shape or size. Accordingly canvas size control icon 918 may controlthe size of the canvas in any direction. For example, the canvas areamay be a rectangle in the middle of the document page that can be grownin any one of the four directions.

While example text-based applications and inking elements, such ascanvas areas, in above figures are shown with limited elements, otherimplementations may include additional elements. Other applications,canvas shapes and sizes, command icons, and the like may be implementedusing the principles described herein.

FIG. 10 illustrates a logic flow diagram for a process of creating andmanipulating an inking canvas based on ink strokes.

Process 1000 begins at operation 1002, where an inking mode indicationis received. The inking mode indication may be touching of apresentation surface (e.g. document page) by the inking pen, clicking ofa soft button or a hard button, a keyboard entry, and the like. Once theinking mode indication is received the inking application makes a seriesof determinations. Processing flows from operation 1002 to decisionoperation 1004, where the first of the determinations is made.

At decision operation 1004, a determination is made whether the inkingstroke (if the indication is an inking stroke) extends beyond thecanvas. In some embodiments the inking stroke may begin within thecanvas and extend beyond it. In other embodiments, the whole stroke maybe outside the visible canvas area. If the stroke extends beyond thevisible canvas area (or is wholly outside), processing moves tooperation 1006. If the determination is negative, processing continuesto decision operation 1010.

At operation 1006, the whole stroke is recorded regardless of whetherpart or all of it is within the visible canvas area. Processing movesfrom operation 1006 to operation 1008.

At operation 1008, the visible canvas area is grown to cover the wholerecorded stroke. In the most general sense, the visible canvas area maybe grown in any direction. In some embodiments, where the visible canvascovers a horizontal band along the entire presentation (document page),the canvas may be grown in a vertical direction to cover the addedstroke. Processing advances from operation 1008 to operation 1026 whereinking strokes are accepted.

At decision operation 1010, following a negative determination atdecision operation 1004, a determination is made whether the stroke isin a special area. Special areas are typically dedicated portions of thepresentation surface indicated by an icon or a soft button. For example,the canvas area control icon may control the growth of the canvas in adirection. Other examples include command buttons in a menu bar orribbon, and the like. If the stroke is in a special area, processingmoves to operation 1012. Otherwise, processing continues to decisionoperation 1016.

At operation 1012, the command to be executed is determined. In theexample of the canvas area control icon, the stroke may indicate growingthe canvas area in a vertical direction by an amount indicated by thelength of the stroke. In the example of the command buttons, any one ofthe commands such as change font color, highlight, and the like,associated with the inking application may be selected for execution.Processing moves from operation 1012 to operation 1014.

At operation 1014, the determined command is executed. For example, thevisible canvas area is grown in the direction and by the amountindicated by the stroke. Processing returns to a calling process forfurther actions after operation 1014.

At decision operation 1016, following a negative determination atdecision operation 1010, a determination is made whether the stroke isover a canvas area. If the stroke is over the canvas area, processingadvances to operation 1026 where the inking stroke is accepted. If thestroke is not over the canvas area, processing moves to decisionoperation 1018.

At decision operation 1018, a determination is made whether a canvas isto be inserted. The decision may be based on a mode that the applicationis in such as continued inking mode or a location of the inking strokesuch as designated area(s) in the application UI. If the canvas is to beinserted processing moves to operation 1020 where the canvas is insertedand its size adjusted according to a default parameter or a locationand/or size of the ink stroke. If the canvas is not to be inserted,processing continues to decision operation 1022.

At decision operation 1022, a determination is made whether text is tobe frozen. The ink stroke may be in a typed text area. Typed text areacontains text already entered by keyboard strokes or other means such ascopying. If the text is to be frozen, processing advances to operation1024 where text is frozen. Freezing the text may enable preservation oftext attributes such as line lengths, font size and type, line spacing,and the like. In other embodiments, ink anchoring may be performedwithout freezing the text. Processing proceeds to a calling process forfurther actions after operation 1024.

If the determination at decision operation 1022 is negative, processingadvances to operation 1026 where the ink stroke is accepted. As inkingentries are made, canvas size may be grown or shrunk (grown in positiveor negative direction) as described above. Processing advances fromoperation 1026 to optional operation 1028.

At optional operation 1028, other inking operations such as characterrecognition, integration of recognized text to typed text, and the like,are performed. After optional operation 1024, processing moves to acalling process for further actions.

The operations included in process 1000 are for illustration purposes.Creating and manipulating canvases based on ink strokes may beimplemented by a similar process with fewer or additional steps, as wellas in different order of operations.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theembodiments. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims and embodiments.

1. A computer-implemented method to be executed at least in part in aninking application for creating and manipulating a canvas, comprising:receiving an inking mode indication; determining a canvas area anchorpoint; and if the canvas area anchor point is in an acceptable location,inserting a canvas area in the application user interface.
 2. Thecomputer-implemented method of claim 1, wherein the acceptable locationincludes at least one from a set of a typed text area, a presentedcanvas area, and an area outside the presented canvas area.
 3. Thecomputer-implemented method of claim 1, the canvas area anchor point isdetermined based on an ink stroke.
 4. The computer-implemented method ofclaim 3, further comprising adjusting a size of the inserted canvas areabased on one of a size of the ink stroke and an input detected by acanvas control icon.
 5. The computer-implemented method of claim 3,further comprising determining a separation location and a separationdistance between typed text lines based on an initial point and a lengthof the ink stroke, if the canvas area anchor point is in the typed textarea.
 6. The computer-implemented method of claim 3, wherein the inkstroke is also the inking mode indication.
 7. The computer-implementedmethod of claim 6, further comprising determining a command to beexecuted if the ink stroke is initiated on a command area.
 8. Thecomputer-implemented method of claim 7, wherein the command areaincludes a canvas size control icon.
 9. The computer-implemented methodof claim 8, further comprising modifying a size of the canvas based onthe length and a direction of the ink stroke initiated on the canvassize control icon.
 10. The computer-implemented method of claim 7,wherein the command area further includes a soft button associated withthe inking application user interface.
 11. The computer-implementedmethod of claim 1, wherein the inking application includes at least oneof from a set of: a word processing application, a presentationapplication, a spreadsheet application, a calendar application, agraphics application, a diagram application, and an electronic mailapplication.
 12. The computer-implemented method of claim 1, wherein theinking mode indication includes at least one from a set of: an inkingpen stroke, a touch screen activation, activation a soft button,activation of a hard button, a mouse entry, and a keyboard entry.
 13. Acomputer-readable medium having stored thereon instructions that areexecutable at least in part in a computing device for creating andmanipulating a canvas based on an ink stroke, the instructionscomprising: detecting an ink stroke; recording the ink stroke andgrowing a presented canvas to cover the ink stroke, when the ink strokeis outside the presented canvas and not in a command area; determining acommand to be executed and executing the command, when the ink stroke isin the command area; and inserting a new canvas based on a location andsize of the ink stroke, when the ink stroke is in a typed text area. 14.The computer-readable medium of claim 13, wherein inserting the newcanvas includes preserving at least one text attribute from a set of:line lengths, font size and type, line spacing, and text flow;separating the lines; creating the new canvas between the separatedlines; and adjusting a size of the new canvas based on an ink entry inthe new canvas.
 15. The computer-readable medium of claim 14, whereingrowing the presented canvas includes enlarging a size of at least oneof the presented canvas and a user interface containing the presentedcanvas in a direction and by an amount indicated by the recorded inkstroke.
 16. The computer-readable medium of claim 14, wherein thecommand area includes a canvas size control icon configured to adjust asize of the presented canvas in a direction and by an amount indicatedby the ink stroke starting on the canvas size control icon.
 17. Acomputer-implemented method to be executed at least in part in acomputing device for manipulating a presented canvas in an inkingapplication, comprising: detecting a stroke outside the presented canvaswhile in an inking mode; recording the stroke including a portion of thestroke that is not continued within the presented canvas; and growingthe presented canvas such that the recorded stroke is covered by thepresented canvas.
 18. The computer-implemented method of claim 17,further comprising growing a user interface of the inking applicationalong with the presented canvas if the recorded stroke is outside theuser interface area.
 19. The computer-implemented method of claim 17,wherein the detected stroke is one of wholly and partially outside thepresented canvas.
 20. The computer-implemented method of claim 17,wherein the presented canvas is grown in one of a positive and anegative direction.